package com.advertisementsystem.Servie;


import com.advertisementsystem.entity.SysAlert;
import com.advertisementsystem.entity.SysMetrics;
import com.advertisementsystem.response.PageResult;
import com.advertisementsystem.vo.SystemHealthReport;

import java.time.LocalDateTime;
import java.util.List;

public interface SystemMonitorService {

    /**
     * 获取当前系统指标
     */
    SysMetrics getCurrentMetrics();

    double getCpuUsage();

    double getMemoryUsage();

    double getDiskUsage();

    /**
     * 获取历史监控数据
     */
    List<SysMetrics> getHistoryMetrics(LocalDateTime startTime, LocalDateTime endTime);

    /**
     * 生成系统健康报告
     */
    SystemHealthReport generateHealthReport();

    /**
     * 获取系统告警记录
     */
    PageResult<SysAlert> getAlerts(Integer pageNum, Integer pageSize);
}